package com.unittec.drainage.sdk.manage.request;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 污水费新增请求实体
 *
 * @author wangyongfeng
 * @date 2021/8/18
 */
@Data
@ApiModel("污水费新增请求实体")
public class Req301106 implements Serializable {

    private static final long serialVersionUID = 3050199362557356359L;

    /**
     * 水源类型(1=自备水源，2=建筑水源)
     */
    @ApiModelProperty(value = "水源类型(1=自备水源，2=建筑水源)",required = true)
    private String waterheadType;

    /**
     * 水源用户id
     */
    @ApiModelProperty(value = "水源用户id",required = true)
    private String waterheadUserId;

    /**
     * 应收月份
     */
    @ApiModelProperty(value = "应收月份",required = true)
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM")
    @NotNull(message = "请输入月份")
    private Date receivableMonth;

    /**
     * 应收日期
     */
    @ApiModelProperty(value = "应收日期",required = true)
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @NotNull(message = "请输入日期")
    private Date receivableDate;

    /**
     * 用水量
     */
    @ApiModelProperty("用水量")
    @Min(value = 0,message = "请输入正确的用水量")
    private BigDecimal waterConsumption;

    /**
     * 排水量
     */
    @ApiModelProperty("排水量")
    @Min(value = 0,message = "请输入正确的排水量")
    private BigDecimal waterDischarge;

    /**
     * 污水费单价
     */
    @ApiModelProperty(value = "污水费单价",required = true)
    @Min(value = 0,message = "请输入正确的污水费单价")
    @NotNull(message = "请输入污水费单价")
    private BigDecimal waterPrice;

    /**
     * 污水费金额
     */
    @ApiModelProperty(value = "污水费金额",required = true)
    @Min(value = 0,message = "请输入正确的污水费金额")
    @NotNull(message = "请输入污水费金额")
    private BigDecimal waterMoney;

}
